<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      var str0 = "how ARE you??";
      console.log(str0);
      //str.toLowerCase()将字符串全部转换为小写
      console.log(str0.toLowerCase());
      //str.toUpperCase()将字符串全部转换为大写
      console.log(str0.toUpperCase());
      //str.toLocaleLowerCase()将字符串全部转换为小写，并且本地化
      //str.toLocaleUpperCase()将字符串全部转换为大写，并且本地化
      //match(pattern)返回pattern中的字串或null
      console.log(str0.match("are")); //不匹配返回null
      console.log(str0.match("ARE")); //返回匹配的内容（是一个数组）['ARE', index: 4, input: 'how ARE you??', groups: undefined]
      console.log(str0.match(/ARE/)[0]); //返回匹配的内容 ARE
      console.log(str0.match(/ARE/).index); //返回匹配开始的下标 4
      console.log(str0.match(/y/)); //正则匹配  /y/匹配y
      //replace(pattern,replacement)用replacement替换pattern
      console.log(str0.replace("how", "HOW")); //将字符串中的how 替换为HOW  ['HOW ARE you??']
      console.log(str0.replace(/\?/, "@")); //尽量使用正则写法 /?有特殊含义用\?转义字符表示 how ARE you@? 只替换了第一个
      console.log(str0.replace(/\?/gi, "!")); //g为全局替换替换所有的，i为忽略所有大小写
      console.log(str0.replace("", "...")); //pattern什么也不写：在最前面添加
      console.log(str0.replace("you", "")); //replacement什么也不写：删除操作
      //search(pattern)返回字符串中pattern开始位置
      console.log(str0.search(/\?/)); //11 表示从字符串下标为11的位置开始匹配
      //split(pattern)返回字符串按指定pattern拆分的数组
      var arr = str0.split();
      console.log(arr); //['how ARE you??']  1个数组1个元素
      var arr1 = str0.split(" "); //以空格作为切割符
      console.log(arr1); // ['how', 'ARE', 'you??'] 1个数组3个元素
      var arr2 = str0.split(""); //把字符串中的每一个字符切割成一个元素数组
      console.log(arr2); //['h', 'o', 'w', ' ', 'A', 'R', 'E', ' ', 'y', 'o', 'u', '?', '?']
      str1 = arr2.join(""); //将数组变为字符串每个元素间用''进行连接，默认为,
      console.log(str1); //how ARE you??
      //String.fromCharCode(ascii)静态方法，输出Ascii码对应值
      console.log(String.fromCharCode(65)); //输出ASCII码值65所对应的字符  A
      console.log(String.fromCharCode(97)); //输出ASCII码值97所对应的字符  a
      //localeCompare(str1,str2)比较两个字符串，并返回相应的值
      var s1 = "aaa",
        s2 = "bbb";
      console.log(s1.localeCompare(s2)); //-1 不相同的两个字符串比较时，如果第一个字符串的ASCI码小于第二个返回-1
      console.log(s2.localeCompare(s1)); //1 不相同的两个字符串比较时，如果第一个字符串的ASCI码大于第二个返回1
      console.log(s2.localeCompare(s2)); //0 相同的两个字符串比较时返回0
    </script>
  </body>
</html>
